﻿//#region ONUR KARADENİZ
//// murat onur  Delegeler
//// Delegeler   OlaylarEventMimarisi.cs
//// 201301026:14 PM
//// 2013  01
//// 02 02
//#endregion

//using System;
//using System.Collections.Generic;

//namespace Delegeler
//{
//    //sade bir clas Mesaj
//    public class Mesaj
//    {
//        public string Konu { get; set; }
//        public DateTime Zaman { get; set; }
//        public string Kimden { get; set; }

//        public Mesaj(string konu, string kimden)
//        {
//            this.Konu = konu;
//            this.Kimden = kimden;
//            this.Zaman = DateTime.Now;
//        }
//    }
//    //basit bir eventargs clasi
//    public class MesajGeldigindeArgs : EventArgs
//    {
//        public readonly Mesaj mesaj;

//        public MesajGeldigindeArgs(Mesaj mesaj)
//        {
//            this.mesaj = mesaj;
//        }
//    }
//    //mesaj kutusu
//    class MesajKutusu
//    {
//        private List<Mesaj> mesaj = new List<Mesaj>();

//        public delegate void MesajHandler(  MesajGeldigindeArgs e);

//        public MesajHandler Mesajgeldiginde;
//        public MesajHandler Mesajgitti;
//        public void YeniMesaj(Mesaj ms)
//        {
//            mesaj.Add(ms);
//            Mesajgeldiginde(  new MesajGeldigindeArgs(ms));
//        }


//    }
//    public static class OlaylarEventMimarisi
//    {
//        private static void Main(string[] args)
//        {
//            MesajKutusu mk = new MesajKutusu();

//            mk.Mesajgeldiginde += mesajgel;

//             //mk.Mesajgeldiginde += delegate(object o, MesajGeldigindeArgs e) { Console.WriteLine("Mesaj geldi" + " Gonderen " + e.mesaj.Kimden + "konusu= " + e.mesaj.Konu + " zaman " + e.mesaj.Zaman); };

//            mk.YeniMesaj(new Mesaj("ahmet", "hava iyi"));
//            mk.YeniMesaj(new Mesaj("sade", "hava iyi"));
//            Console.ReadKey();

//        }
//        public static void mesajgel(  MesajGeldigindeArgs e)
//        {
//            Console.WriteLine("Mesaj geldi" + " Gonderen " + e.mesaj.Kimden + "konusu= " + e.mesaj.Konu + " zaman " + e.mesaj.Zaman);
//        }

//    }
//}